\hypertarget{class____Fieldgroup}{}\section{\+\_\+\+\_\+\+Fieldgroup Class Reference}
\label{class____Fieldgroup}\index{\+\_\+\+\_\+\+Fieldgroup@{\+\_\+\+\_\+\+Fieldgroup}}


\+\_\+\+\_\+\+Simbox中grid上的二维场群  




{\ttfamily \#include $<$fields.\+h$>$}



Collaboration diagram for \+\_\+\+\_\+\+Fieldgroup\+:\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{d6/de1/class____Fieldgroup__coll__graph}
\end{center}
\end{figure}
\subsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class____Fieldgroup_a50d245f44a60d5cd93f90c8afc58f827}{}{\bfseries \+\_\+\+\_\+\+Fieldgroup} (const \hyperlink{class____Vect2}{\+\_\+\+\_\+\+Vect2}$<$ long $>$ \&\hyperlink{class____Fieldgroup_a255a314a604082cfd0b1bac3905e4904}{xygridmax})\label{class____Fieldgroup_a50d245f44a60d5cd93f90c8afc58f827}

\item 
\hypertarget{class____Fieldgroup_a23378a935418a2e7a0477a6cf2632bfd}{}{\bfseries \+\_\+\+\_\+\+Fieldgroup} (const \hyperlink{class____Fieldgroup}{\+\_\+\+\_\+\+Fieldgroup} \&other)\label{class____Fieldgroup_a23378a935418a2e7a0477a6cf2632bfd}

\item 
\hypertarget{class____Fieldgroup_abb984c1b853a499d916fcc66e768d6b9}{}{\bfseries \+\_\+\+\_\+\+Fieldgroup} (const long \&xgrid, const long \&ygrid, \hyperlink{class____Vect2}{\+\_\+\+\_\+\+Vect2}$<$ double $>$ \hyperlink{class____Fieldgroup_a8445e917f188f2dd259ffc75a94b6604}{dxy}, const int bd\+\_\+typer\mbox{[}$\,$\mbox{]}, const int startindexr\mbox{[}$\,$\mbox{]}, const int damp\+\_\+lenr\mbox{[}$\,$\mbox{]})\label{class____Fieldgroup_abb984c1b853a499d916fcc66e768d6b9}

\item 
\hypertarget{class____Fieldgroup_a31cc2fb6da77763c9b7c4971c51756bd}{}void \hyperlink{class____Fieldgroup_a31cc2fb6da77763c9b7c4971c51756bd}{init} ()\label{class____Fieldgroup_a31cc2fb6da77763c9b7c4971c51756bd}

\begin{DoxyCompactList}\small\item\em 初始化场群 \end{DoxyCompactList}\item 
\hypertarget{class____Fieldgroup_a32bc01df143ecf1c6527bccc11769ecd}{}void \hyperlink{class____Fieldgroup_a32bc01df143ecf1c6527bccc11769ecd}{set\+\_\+value} (const \hyperlink{class____Vect2}{\+\_\+\+\_\+\+Vect2}$<$ long $>$ \&xygrid, \hyperlink{class____Fields}{\+\_\+\+\_\+\+Fields} \&thisfield)\label{class____Fieldgroup_a32bc01df143ecf1c6527bccc11769ecd}

\begin{DoxyCompactList}\small\item\em 设置xygrid处的场 \end{DoxyCompactList}\item 
void \hyperlink{class____Fieldgroup_a4371e159990cd6061970fa11f20ebbcc}{advancepre} (int rank, double delta\+\_\+t)
\begin{DoxyCompactList}\small\item\em 先damping B，半步推动\+B，再加damping E \end{DoxyCompactList}\item 
\hypertarget{class____Fieldgroup_a11e41011f78137a3e03e5e3c4953f4e7}{}void \hyperlink{class____Fieldgroup_a11e41011f78137a3e03e5e3c4953f4e7}{advancenex} (int rank, double delta\+\_\+t)\label{class____Fieldgroup_a11e41011f78137a3e03e5e3c4953f4e7}

\begin{DoxyCompactList}\small\item\em 推动一步\+E \end{DoxyCompactList}\item 
\hypertarget{class____Fieldgroup_a3449c51cc5c71ac13e2c0cae3846b3d3}{}void \hyperlink{class____Fieldgroup_a3449c51cc5c71ac13e2c0cae3846b3d3}{dump} (const int \&rank, int n, string fname, int sp)\label{class____Fieldgroup_a3449c51cc5c71ac13e2c0cae3846b3d3}

\begin{DoxyCompactList}\small\item\em 输出数据 \end{DoxyCompactList}\item 
\hypertarget{class____Fieldgroup_ae357d0a08ca0cd09658e9c90436e24a0}{}void \hyperlink{class____Fieldgroup_ae357d0a08ca0cd09658e9c90436e24a0}{set\+\_\+nvalue} (int n, \hyperlink{class____Vect2}{\+\_\+\+\_\+\+Vect2}$<$ long $>$ \&xygrid, \hyperlink{class____Vect3}{\+\_\+\+\_\+\+Vect3}$<$ double $>$ \&myfield)\label{class____Fieldgroup_ae357d0a08ca0cd09658e9c90436e24a0}

\begin{DoxyCompactList}\small\item\em 设置 n类 xygrid处场数据 0 E, 1, B, 2 J \end{DoxyCompactList}\item 
void \hyperlink{class____Fieldgroup_a2e15bdd2bf9fae38a4413388325cd2f0}{update\+\_\+efield} (double delta\+\_\+t)
\begin{DoxyCompactList}\small\item\em Ampere定律更新电场 \end{DoxyCompactList}\item 
\hypertarget{class____Fieldgroup_af6380fbc6d60eefdcca497575282c2f6}{}void \hyperlink{class____Fieldgroup_af6380fbc6d60eefdcca497575282c2f6}{update\+\_\+bfield} (double delta\+\_\+t)\label{class____Fieldgroup_af6380fbc6d60eefdcca497575282c2f6}

\begin{DoxyCompactList}\small\item\em Faraday定律更新磁场 \end{DoxyCompactList}\item 
\hypertarget{class____Fieldgroup_a51d8e02cc0acc4ec0863708f76e4a3ed}{}void \hyperlink{class____Fieldgroup_a51d8e02cc0acc4ec0863708f76e4a3ed}{apply\+\_\+boundary} ()\label{class____Fieldgroup_a51d8e02cc0acc4ec0863708f76e4a3ed}

\begin{DoxyCompactList}\small\item\em 施加反射边界，如果bdtype已经设置，否则不起作用 \end{DoxyCompactList}\item 
\hypertarget{class____Fieldgroup_a57b5b0dae0a9541a295ca38592d02457}{}void \hyperlink{class____Fieldgroup_a57b5b0dae0a9541a295ca38592d02457}{field\+\_\+damp\+\_\+multipy} (const int \&\hyperlink{class____Fieldgroup_ae712ee084c22647a5837e5457fa5694c}{bd\+\_\+type}, const int type, const int axis, const int direction, const int \&\hyperlink{class____Fieldgroup_a0180c1747a3c15d96c6c068c5f543236}{startindex}, const int \&\hyperlink{class____Fieldgroup_a18a03b495104acb0823130c244ec13da}{damp\+\_\+len})\label{class____Fieldgroup_a57b5b0dae0a9541a295ca38592d02457}

\begin{DoxyCompactList}\small\item\em 场damp 乘， bd\+\_\+type是1会起作用，type0：电场，1：磁场，axis：0 along x，1：along y， direction：0：从小到大，1：从大到小 \end{DoxyCompactList}\item 
\hypertarget{class____Fieldgroup_a9682f1c62250f773134a3e416d8eec85}{}void \hyperlink{class____Fieldgroup_a9682f1c62250f773134a3e416d8eec85}{field\+\_\+damp\+\_\+divide} (const int \&\hyperlink{class____Fieldgroup_ae712ee084c22647a5837e5457fa5694c}{bd\+\_\+type}, const int type, const int axis, const int direction, const int \&\hyperlink{class____Fieldgroup_a0180c1747a3c15d96c6c068c5f543236}{startindex}, const int \&\hyperlink{class____Fieldgroup_a18a03b495104acb0823130c244ec13da}{damp\+\_\+len})\label{class____Fieldgroup_a9682f1c62250f773134a3e416d8eec85}

\begin{DoxyCompactList}\small\item\em 场damp 除， bd\+\_\+type是1会起作用，type0：电场，1：磁场，axis：0 along x，1：along y， direction：0：从小到大，1：从大到小 \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class____Fieldgroup_a3e9ceb9a297453c70487e0f3ef50b767}{}vector$<$ vector$<$ \hyperlink{class____Fields}{\+\_\+\+\_\+\+Fields} $>$ $>$ \hyperlink{class____Fieldgroup_a3e9ceb9a297453c70487e0f3ef50b767}{member}\label{class____Fieldgroup_a3e9ceb9a297453c70487e0f3ef50b767}

\begin{DoxyCompactList}\small\item\em field成员 \end{DoxyCompactList}\item 
\hypertarget{class____Fieldgroup_a0f330338cb12c31497785ce2f2dbd584}{}vector$<$ vector$<$ \hyperlink{class____Vect2}{\+\_\+\+\_\+\+Vect2}$<$ double $>$ $>$ $>$ \hyperlink{class____Fieldgroup_a0f330338cb12c31497785ce2f2dbd584}{grid}\label{class____Fieldgroup_a0f330338cb12c31497785ce2f2dbd584}

\begin{DoxyCompactList}\small\item\em 每个field对应的grid，此次貌似没有用到，其实应该有关联性的，这个需要补充和修正 \end{DoxyCompactList}\item 
\hypertarget{class____Fieldgroup_a255a314a604082cfd0b1bac3905e4904}{}\hyperlink{class____Vect2}{\+\_\+\+\_\+\+Vect2}$<$ long $>$ \hyperlink{class____Fieldgroup_a255a314a604082cfd0b1bac3905e4904}{xygridmax}\label{class____Fieldgroup_a255a314a604082cfd0b1bac3905e4904}

\begin{DoxyCompactList}\small\item\em xygridmax \end{DoxyCompactList}\item 
\hypertarget{class____Fieldgroup_a72b33509d6e684c0f73e2b02e080871f}{}\hyperlink{class____Vect2}{\+\_\+\+\_\+\+Vect2}$<$ long $>$ \hyperlink{class____Fieldgroup_a72b33509d6e684c0f73e2b02e080871f}{xygridmin}\label{class____Fieldgroup_a72b33509d6e684c0f73e2b02e080871f}

\begin{DoxyCompactList}\small\item\em fieldgroup的网格最小grid坐标 \end{DoxyCompactList}\item 
\hypertarget{class____Fieldgroup_a8445e917f188f2dd259ffc75a94b6604}{}\hyperlink{class____Vect2}{\+\_\+\+\_\+\+Vect2}$<$ double $>$ \hyperlink{class____Fieldgroup_a8445e917f188f2dd259ffc75a94b6604}{dxy}\label{class____Fieldgroup_a8445e917f188f2dd259ffc75a94b6604}

\begin{DoxyCompactList}\small\item\em xy 方向的空间步长 \end{DoxyCompactList}\item 
\hypertarget{class____Fieldgroup_ae712ee084c22647a5837e5457fa5694c}{}int \hyperlink{class____Fieldgroup_ae712ee084c22647a5837e5457fa5694c}{bd\+\_\+type} \mbox{[}4\mbox{]}\label{class____Fieldgroup_ae712ee084c22647a5837e5457fa5694c}

\begin{DoxyCompactList}\small\item\em 边界条件类型 1\+: damping 0\+: reflecting 位置：0, 下， 1,上， 2,左，3右 \end{DoxyCompactList}\item 
\hypertarget{class____Fieldgroup_a18a03b495104acb0823130c244ec13da}{}int \hyperlink{class____Fieldgroup_a18a03b495104acb0823130c244ec13da}{damp\+\_\+len} \mbox{[}4\mbox{]}\label{class____Fieldgroup_a18a03b495104acb0823130c244ec13da}

\begin{DoxyCompactList}\small\item\em damping length 用于吸收边界的pml吸收厚度 \end{DoxyCompactList}\item 
\hypertarget{class____Fieldgroup_a0180c1747a3c15d96c6c068c5f543236}{}int \hyperlink{class____Fieldgroup_a0180c1747a3c15d96c6c068c5f543236}{startindex} \mbox{[}4\mbox{]}\label{class____Fieldgroup_a0180c1747a3c15d96c6c068c5f543236}

\begin{DoxyCompactList}\small\item\em damping　开始的网格 \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Friends}
\begin{DoxyCompactItemize}
\item 
\hypertarget{class____Fieldgroup_a43587186c93a0a6dafea302519a52053}{}ostream \& {\bfseries operator$<$$<$} (ostream \&out, const \hyperlink{class____Fieldgroup}{\+\_\+\+\_\+\+Fieldgroup} \&thisgroup)\label{class____Fieldgroup_a43587186c93a0a6dafea302519a52053}

\end{DoxyCompactItemize}


\subsection{Detailed Description}
\+\_\+\+\_\+\+Simbox中grid上的二维场群 

\subsection{Member Function Documentation}
\hypertarget{class____Fieldgroup_a4371e159990cd6061970fa11f20ebbcc}{}\index{\+\_\+\+\_\+\+Fieldgroup@{\+\_\+\+\_\+\+Fieldgroup}!advancepre@{advancepre}}
\index{advancepre@{advancepre}!\+\_\+\+\_\+\+Fieldgroup@{\+\_\+\+\_\+\+Fieldgroup}}
\subsubsection[{advancepre}]{\setlength{\rightskip}{0pt plus 5cm}void \+\_\+\+\_\+\+Fieldgroup\+::advancepre (
\begin{DoxyParamCaption}
\item[{int}]{rank, }
\item[{double}]{delta\+\_\+t}
\end{DoxyParamCaption}
)}\label{class____Fieldgroup_a4371e159990cd6061970fa11f20ebbcc}


先damping B，半步推动\+B，再加damping E 

场damp 乘， bd\+\_\+type是1会起作用，type0：电场，1：磁场，axis：0 along x，1：along y， direction：0：从小到大，1：从大到小 \hypertarget{class____Fieldgroup_a2e15bdd2bf9fae38a4413388325cd2f0}{}\index{\+\_\+\+\_\+\+Fieldgroup@{\+\_\+\+\_\+\+Fieldgroup}!update\+\_\+efield@{update\+\_\+efield}}
\index{update\+\_\+efield@{update\+\_\+efield}!\+\_\+\+\_\+\+Fieldgroup@{\+\_\+\+\_\+\+Fieldgroup}}
\subsubsection[{update\+\_\+efield}]{\setlength{\rightskip}{0pt plus 5cm}void \+\_\+\+\_\+\+Fieldgroup\+::update\+\_\+efield (
\begin{DoxyParamCaption}
\item[{double}]{delta\+\_\+t}
\end{DoxyParamCaption}
)}\label{class____Fieldgroup_a2e15bdd2bf9fae38a4413388325cd2f0}


Ampere定律更新电场 

member\mbox{[}i\mbox{]}\mbox{[}j\mbox{]}.efield.\+member\mbox{[}0\mbox{]} += delta\+\_\+t $\ast$ ( -\/ eps $\ast$ member\mbox{[}i\mbox{]}\mbox{[}j\mbox{]}.jfield.\+member\mbox{[}0\mbox{]});

d\+Ey/dt = -\/ d\+Bz/dx -\/ Jy member\mbox{[}i\mbox{]}\mbox{[}j\mbox{]}.efield.\+member\mbox{[}1\mbox{]} += -\/ delta\+\_\+t $\ast$ ((member\mbox{[}i\mbox{]}\mbox{[}j\mbox{]}.bfield.\+member\mbox{[}2\mbox{]} -\/\textbackslash{} member\mbox{[}i-\/1\mbox{]}\mbox{[}j\mbox{]}.bfield.\+member\mbox{[}2\mbox{]}) $\ast$ epsmu / dx + \textbackslash{} eps $\ast$ member\mbox{[}i\mbox{]}\mbox{[}j\mbox{]}.jfield.\+member\mbox{[}1\mbox{]}); member\mbox{[}i\mbox{]}\mbox{[}j\mbox{]}.efield.\+member\mbox{[}2\mbox{]} += delta\+\_\+t $\ast$ (member\mbox{[}i+1\mbox{]}\mbox{[}j\mbox{]}.bfield.\+member\mbox{[}1\mbox{]} -\/\textbackslash{} member\mbox{[}i\mbox{]}\mbox{[}j\mbox{]}.bfield.\+member\mbox{[}1\mbox{]}) $\ast$ epsmu / dx;

The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
fields.\+h\end{DoxyCompactItemize}
